Fonts are used by computers for on-screen display, hard-copy printing, and for other output devices. A “font” is a set of characters of the same typeface, style, stroke weight, and size. For example, a font typeface may be Times New Roman, Arial, or Courier. The font style can be italics or underline, the stroke weight can be bold, and the size can be 12 point. More generally, a font defines how a set of characters appears when displayed, printed or output by a computer.
Early computer operating systems relied on bitmapped fonts for display and printing. These fonts had to be individually created for displaying the font at each desired size, style or stroke weight. If the font was scaled to sizes larger or smaller than the font's originally intended size, then the output was significantly degraded. In addition, printed text was almost always jagged looking.
A font is generally defined by a set of mathematical rules or glyph information contained in a font file. The rules define how a computer converts font data into pixel data for turning on and off the appropriate dots or pixels to form the glyphs. A “glyph” is an image, form, or shape used for the visual representation of characters. For instance, in a cursive or handwritten style font, the character represented by a lowercase “r” is rendered as one of two possible glyphs, depending on what character precedes it in the text.
One example of a widely used font is TrueType font. TrueType technology and other similar font systems involve two parts. The first part of the system is the font rasterizer and the second part is the font file. The rasterizer is a piece of software that is used by the operating system to gather mathematical information from the font file about the outline description of a character, and the rasterizer scales and adjusts that mathematical information. The font file or font data is converted by the rasterizer into a bitmap that can be understood by a graphics card, monitor or printer. The rasterizer can be considered an interpreter that understands the mathematical data supplied by the font file and translates the data into a form that the video display or printer can output.
The font file describes the outline of each character in the typeface. In the case of TrueType fonts or other higher quality fonts, mathematical points, splines, or vectors are used to describe the font and hinting codes may also be included. Hinting is a process that helps a scaled font look its best. Instead of simply relying on the character outline, the hinting codes ensure that the characters line up well with the pixels so that the font looks as smooth and legible as possible.
In addition to the process of simply creating a font, many situations exist where font file data needs to be protected from unauthorized use. For instance, a large business may have a CEO's signature that is encoded in a font for the purposes of electronically signing checks since the CEO could never manually sign all of the checks used in day-to-day business. Because of the value of a “signature font” or secure font, it is important that the secure font not be accessed or used by unauthorized individuals.
If only a secure font is used in a document, then an individual who is not authorized may not be able to view what is written in the document. The reason that an unauthorized individual does not have access to the font is because the font is not installed on their computer or printer. This also means that only authorized individuals can draft a document containing the secure font. This use of a secure font is not a particularly efficient or convenient system.
In order to avoid the problem just discussed, current font developers use two separate font files with the same glyph metrics. One font is a public font and the second font is a secure font. This allows everyone in a company to install the public font onto their operating system and printers. When a secure document is viewed or printed by personnel who are not authorized to use the secure font, the public font is used and the document may be read or printed. In this case, it will be obvious to anyone reading or printing the document with the public font that this is not an “official” copy printed with the secure font.
On the other hand, authorized personnel are allowed to install the secure font for the purpose of making and printing “official” copies. Often a printer or computer with a secure hardware font is installed on a device kept in a locked room.
There are a number of disadvantages with the current system of administrating secure fonts. The first disadvantage is that there are multiple font files for each secure font. Administrators and developers of the secure font must update and distribute two fonts. In addition, the glyph metrics in each of these two fonts must be identical. This creates a significant amount of redundant data that will be installed for those who use the secure font. A mechanism for substituting one font for the other where users have both fonts installed is also installed onto a user's computer.
The administration of two font files can create document reflow issues with secure fonts. If a user who is not authorized to use the secure font views the document that was drafted with the secure font, a substitution font may be used. The substitution font is normally the public font but some users may not have the public font installed or the metrics in their public font may not be current. Accordingly, the substitution font may cause unreadable text reflow or other document problems.
Another drawback in current secure font systems is that security is provided by physically limiting possession of the secure font. Once someone has or gains possession of the secure font, that individual is able to use the font even if they are an unauthorized user. For this reason, software versions of secure fonts are almost never produced. Secure fonts are typically stored on DIMMs, Flash RAM, and similar expensive hardware storage devices. This allows a hardware font to be installed only on a printer that is kept in a locked room. Then that printer can be used to produce “official” copies of documents using the secure font.